# 1.显式： 一般，只要把 类型类型 作为 函数名 即可
print(123 + int("-123"))
# 0
print(type( 123 + int("-123") ))
# <class 'int'>

# 2.隐式

# 2.1 运算
int1 = 123; float1 = 0.123
print(type(int1 + float1)) # <class 'float'>

# 字符串 不支持在 运算中 隐式
#   File "D:\william\vs\helloPy\cast.py", line 10, in <module>
#    print(type(int1 + string1))
#               ~~~~~^~~~~~~~~
# TypeError: unsupported operand type(s) for +: 'int' and 'str'
# string1 = "-123"
# print(type(int1 + string1))

# ------------------

# 粗糙的理解 精度： bool < int < float < complex

# float -> int
print(int(float(1.1)))          # 1, 精度损失
# ValueError: invalid literal for int() with base 10: '1.1'
# print(int(str('1.1')))
print(int(float(str('1.1'))))   # 1, 精度损失

# 调用系统shell 清理交互界面
# 定义变量 i 是为了不再输出 os.system，subprocess.call 的函数返回0
'''
>>> import os
>>> i=os.system("cls")
'''

'''
>>> import subprocess
>>> i=subprocess.call("cls", shell=True)
'''

